libcurl backend
authorColin Walters <walters@verbum.org>
Thu, 8 Dec 2016 02:02:30 +0000 (21:02 -0500)
committerAtomic Bot <atomic-devel@projectatomic.io>
Thu, 9 Feb 2017 16:37:45 +0000 (16:37 +0000)
commit361aa449fbb43f8c9ab91e9d56c2d73e01c732e0
treeb857aeb41061baa0646d3bb8cf343cedff670253
parent425ccc0a33610c71f0258423c83701dc4e273ee7
libcurl backend

For rpm-ostree, we already link to libcurl indirectly via librepo, and
only having one HTTP library in process makes sense.

Further, libcurl is (I think) more popular in the embedded space.  It
also supports HTTP/2.0 today, which is a *very* nice to have for OSTree.

This seems to be working fairly well for me in my local testing, but it's
obviously brand new nontrivial code, so it's going to need some soak time.

The ugliest part of this is having to vendor in the soup-url code. With
Oxidation we could follow the path of Firefox and use the
[Servo URL parser](https://github.com/servo/rust-url).  Having to redo
cookie parsing also sucked, and that would also be a good oxidation target.

But that's for the future.

Closes: #641
Approved by: jlebon
21 files changed:
.redhat-ci.yml
.travis.yml
Makefile-libostree.am
Makefile-ostree.am
configure.ac
src/libostree/ostree-fetcher-curl.c [new file with mode: 0644]
src/libostree/ostree-fetcher-soup.c [new file with mode: 0644]
src/libostree/ostree-fetcher-uri.c [new file with mode: 0644]
src/libostree/ostree-fetcher.c [deleted file]
src/libostree/ostree-repo-pull.c
src/libostree/ostree-soup-form.c [new file with mode: 0644]
src/libostree/ostree-soup-uri.c [new file with mode: 0644]
src/libostree/ostree-soup-uri.h [new file with mode: 0644]
src/ostree/ot-remote-builtin-add-cookie.c
src/ostree/ot-remote-builtin-delete-cookie.c
src/ostree/ot-remote-builtin-list-cookies.c
src/ostree/ot-remote-cookie-util.c [new file with mode: 0644]
src/ostree/ot-remote-cookie-util.h [new file with mode: 0644]
tests/ci-build.sh
tests/ci-install.sh
tests/test-remote-cookies.sh